I am usually skeptical of the endless number of programming languages and compilers that you can see on the internet. Every extremely smart programmer considers it their duty to write a new compiler. At the same time, every bird thinks its own nest is best: every developer thinks their favorite language is the best, and sometimes - that the rest should be banned altogether. Meanwhile, consumer applications are full of bugs, inconvenient, lack functionality, and are hard to use. If the programmers who create compilers and evangelize trendy new languages are so capable, why wouldn't they improve the lives of ordinary people by writing better, widely used software? The answer is simple: they find it boring and tedious to catch minor bugs and think through UI details, whereas figuring out clever algorithms and language features is very interesting. At the same time, most of these people pretend that creating a new language is an extremely important matter, and without it, progress will stop, and nobody will write any programs.
So, I'm not just writing all this for nothing. It's because I stumbled upon Script# - a translator from my favorite C# into client-side JavaScript. At first glance, it looks and works amazingly, and its usefulness is quite apparent. I read an idea somewhere that an interesting direction for the development of client-side web applications is some language and platform whose compiler transforms the result into cross-browser, optimized, and reliable JavaScript. Script# is somewhat of a confirmation, if not of the viability of such a concept, then at least of its feasibility in a practical sense.
The conclusion here is this. The endless projects for creating various environments and languages are necessary after all: apparently, some of them delight and surprise developers just as much as Script# surprised and delighted me.
All of the above applies quite well to other professions too. It's understandable that such people (fanatics bringing no direct benefit) are sometimes needed, and without their efforts, there would be no forward movement. Besides, they usually evoke more admiration in their own circles than the faceless keyboard toilers writing boring consumer applications. Unfortunately, the creators of compilers and OSs, although theorists in a sense, are not completely so. For instance, they very, very often fail to use the results of the work of genuine IT scientists, related to the organization and optimization of various complex systems. Entire mountains of such things were already invented back in the 60s and 70s, yet some are still reinventing the wheel. For example, environments with automatic garbage collection have only now become widespread, even though contrary to popular misconception, when properly implemented they are almost equal in speed to environments with manual memory management. There were also ideas for a reliable distributed internet and so on.
Lars von Trier once said that cinema is only a hundred years old, and we are only at the beginning of the journey. Therefore, I am extremely comforted just by the fact that software development as a profession is only 40-50 years old. It turns out our current efforts are the first timid steps of a child, and in some time, software will finally become more or less reliable and convenient.